Using Micro-Reboots to Improve Software Rejuvenation in Apache Tomcat
نویسندگان
چکیده
As software complexity increases so does the difficulty in solving all software defects before the production stage, even with advanced software testing tools. Those software defects are often the cause for application crashes. To tolerate application crashes the industry has adopted several clustering techniques: server-redundancy, load-balancers and server-failover. The latest trend goes towards the development of self-healing techniques that automate the recovery procedures and prevent the occurrence of unplanned failures. In recent years a particular software problem has been studied: software aging. Software aging is described as the progressive degradation of the running software that may lead to crashes. To solve software aging a mechanism has been proposed: software rejuvenation. In essence software rejuvenation is a restart operation that causes the software to return to maximum performance thus avoiding the software crash. In this report we study an enhanced rejuvenation technique: MicroRebooting. A Micro-Reboot is a reboot done in a more fine-grained component than the whole application. Our experimental study aims to fill that void by studying the feasibility of using Micro-Reboots in Apache Tomcat. We implemented a prototype Micro-Reboot framework in that Web-Server and did an experimental study to evaluate its effectiveness. * This research work is carried out under the FP6 Network of Excellence CoreGRID funded by the European Commission (Contract IST-2002-004265).
منابع مشابه
Dependable Grid Services: A Case Study with OGSA-DAI
Grid middleware usually makes use of several software modules that due to their complexity and development approach may have some latent bugs and leaks. These bugs can cause visible performance failures and undesired service crashes. To cope with this sort of transient failures we present a proactive software rejuvenation approach that exploits the use of virtualization middleware. To prove the...
متن کاملComponent-Dependency based Micro-Rejuvenation Scheduling
With the growth of Internet, “always on” services are becoming increasingly important. Software rejuvenation is a well-known proactive technique to prevent failures due to software aging and extend the lifetime of longrunning software such as Internet Servers, billing systems, telecommunication switches [1]. However, doing a machine reboot to rejuvenate takes time in the order of minutes and ca...
متن کاملSoftware Security Economics: Theory, in Practice
In economic models of cybersecurity, security investment yields positive, but diminishing, returns. If that were true for software vulnerabilities, fix rates should decrease, whereas the time between successive fixes should go up as vulnerabilities become fewer and harder to fix. In this work, we examine the empirical evidence for this hypothesis for Mozilla, Apache httpd and Apache Tomcat over...
متن کاملOP2A: How to Improve the Quality of the Web Portal of Open Source Software Products
Open Source Software (OSS) communities do not often invest in marketing strategies to promote their products in a competitive way. Even the home pages of the web portals of well-known OSS products show technicalities and details that are not relevant for a fast and effective evaluation of the product’s qualities. So, final users and even developers who are interested in evaluating and potential...
متن کاملDesign Evolution of an Open Source Project Using an Improved Modularity Metric
Modularity of an open source software code base has been associated with community growth, incentives for voluntary contribution, and a reduction in free riding. As a theoretical construct, it links open source software to other domains of research, including organization theory, the economics of industry structure, and new product development; however, measuring the modularity of an open sourc...
متن کامل